package cn.xd.core.ddd.value;

import cn.xd.core.ddd.value.basic.ID;
import cn.xd.core.ddd.value.basic.Value;

/**
 * @author mirzaLin
 * @data 2023/11/14
 * @description 实体id属性父类
 **/
public class IdValue extends Value<Long> implements ID {
    public IdValue() {
    }

    public IdValue(Long value) {
        super(value);
    }

    @Override
    public int hashCode() {
        return getValue().hashCode();
    }

    @Override
    public boolean equals(Object obj) {
        if (obj instanceof IdValue) {
            return getValue().equals(((IdValue) obj).getValue());
        }
        return getValue().equals(obj);
    }

    /**
     * redis key 必须勿删除
     */
    @Override
    public String toString() {
        return super.getValue().toString();
    }
}
